package com.cy.store.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginInterceptor implements HandlerInterceptor {
    /**
     * 检测全局session对象中，是否有uid数据，有则放行；无则重定向回登录界面
     * 只要编写了preHandle，springboot就会自动将下列对象传入
     * @param request 请求对象
     * @param response 响应对象
     * @param handler 处理器（url+conteoller：映射）
     * @return 返回值=true，则放行当前请求；返回值=false，则拦截当前请求
     * @throws Exception
     */
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //通过HttpServletRequest对象，来获取session对象
        Object obj = request.getSession().getAttribute("uid");
        if(obj == null){
            response.sendRedirect("/web/login.html");
            return false;
        }

        //请求放行
        return true;
    }
}
